Skip to content

chore(template): make new satellites match the existing ones - #10

Merged
Seungpyo1007 merged 9 commits into
developfrom
chore/template-matches-satellites
Nov 11, 2026
Merged

Seungpyo1007 merged 9 commits into
developfrom
chore/template-matches-satellites

Conversation

@TechEngineBot

Copy link
Copy Markdown
Member

What & why

Part of #5. The satellite template had drifted from the repositories it is meant to reproduce: its workflows pinned actions by tag, it had no final check, no CODEOWNERS and no PR template. A satellite created today would not have passed the organisation's own rules. The template now writes what game-catalog actually runs.

Changes

  • Template workflows: deploy-pages.yml and validate-data.yml pin actions by SHA and declare permissions:, concurrency and timeouts. A final-check.yml is added (label-triggered, one TechEngineBot comment).
  • Template metadata: CODEOWNERS and a pull request template. The owner is a user handle because the organisation has no teams.
  • Tests: tests/test_pinned_actions.py checks that every uses: in this repo's workflows and in the template's is a GitHub-owned action pinned by full SHA; the final check calls it instead of a shell grep. Another test pins the exact list of files a new satellite starts with, so template changes are deliberate.
  • Health check: repos.json also lists the .github profile repo and TechMachine itself.
  • Scaffolder checklist: the new repo's repos.json entry includes allowed_secrets, and the checklist covers the final-check label and its secret.
  • README: the real health rules, the files the scaffolder generates, the setup checklist and a table of the organisation's repositories.
  • Line endings: .editorconfig and .gitattributes; every tracked file was already LF.

Checks

pytest: 37 passed locally.

…ellites

The template workflows used tag pins, validate-data had no permissions
block and carried a comment about game-catalog's record count. They now
take the form game-catalog runs: the same pinned SHAs, read-only
permissions, concurrency and timeouts.
Both satellites run a final-check workflow and the template had none. The
new one is game-catalog's with the repository and category filled in.
The checklist now registers the repo in repos.json with its allowed secret
and names the label and the token to set up, and the tests allow
TECHENGINEBOT_TOKEN in final-check.yml only.
New satellites start with the maintainers team as code owners and a short
PR template: title convention, develop as the target, validator and tests,
cited sources, and the sidebar filled in by hand. Issue templates are left
to the organisation's shared ones. The template validator's docstring no
longer quotes game-catalog's record count.
The pinned-action rule was a grep inside final-check.yml that only saw
this repository's own workflows, so the template could generate tag-pinned
ones unnoticed. It is now a test over both directories, and the final
check runs that test. CI installs a fixed pytest instead of the newest.
The .github repo has no workflows and no endpoint; the check lists its
workflows, finds none and reports nothing, which a test now pins down.
TechMachine was the one repository with workflows that nothing watched.
Generating a repository must produce exactly the expected tree, so adding
or dropping a template file is a deliberate change to the test as well.
… org's repositories

The README now lists what the health check actually inspects, the files
the scaffolder writes and the steps for creating a satellite, with a short
table of the organisation's repositories.
Every tracked text file is already LF; this keeps it that way on Windows.
The organisation has no teams, so a team handle would own nothing.
@TechEngineBot TechEngineBot added this to the Org tooling (2026) milestone Nov 11, 2026
@TechEngineBot TechEngineBot added documentation Improvements or additions to documentation enhancement New feature or request ci Workflows and CI labels Nov 11, 2026
@Seungpyo1007
Seungpyo1007 merged commit bb3d4e0 into develop Nov 11, 2026
7 checks passed
@Seungpyo1007
Seungpyo1007 deleted the chore/template-matches-satellites branch November 11, 2026 17:50
@github-project-automation github-project-automation Bot moved this from Todo to Done in TechAPI-Project Nov 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Workflows and CI documentation Improvements or additions to documentation enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants